//! Header for the ObserverBase class
/*!
	\file ObserverBase.h
	\author Andreas Lehner
	\date 22.11.2012

*/
#ifndef OBSERVERBASE_H
#define OBSERVERBASE_H

#include "Object.h"
#include "WindowsDisplay.h"
#include "PKW.h"
#include "IDisplay.h"

//! Base class for the observers.
/*!
\class ObserverBase
The class ObserverBase holds the subject the observers
are listening to and the WindowsDisplay needed for the output.
(Observer pattern)
*/
class ObserverBase : public Object, public IDisplay {
protected:
	//! subject the observers are listening to
	/*!
	mAutomobile describes the the concrete subject the observers
	are listening to. 
	*/
	PKW * mAutomobile;
	//! the display where the values are written to.
	/*!
	mDisplay is whether a DigitalDisplay or an AnalogDisplay.
	Observed values are sent to the WindowsDisplay.
	*/
	WindowsDisplay * mDisplay;
};

#endif